<!-- 方法

    for(i of 数组)      遍历数组（i是元素） 
    数组.forEach((i, index)=>{})        遍历数组（i是元素， index是索引）



    new Array()     创建数组



    typeof (数组名)      返回类型
    数组名 instanceof Array    判断类型是否是某种，返回true false


    数组名.unshift()    开头添加
    数组名.push()       末尾添加
    数组名.shift()      开头删除
    数组名.pop()        末尾删除
    数组名.splice(索引, 删除元素个数, 插入元素);       // 指定位置插入或删除元素
                                                    // 从索引 1 开始，删除 0 个元素，插入 7 和 8
                                                    // 从索引 1 开始，删除 1 个元素

    数组名.slice(起点索引, 终点索引);     // 截取索引范围内的元素，放入新数组中（原数组不变）



    --------------------------------------forEach-------------------------------------------------
    数组.forEach((元素item, 索引index, 所在数组array){       //  遍历数组，对每个元素执行操作
    }

    数组.forEach((元素item, 索引index){         //  遍历数组
    }

    对象.forEach((匿名函数){         //  
    }

    数组.forEach((元素item, 索引index, 所在数组array) => {函数})       //  遍历数组，对每个元素执行操作
                                                                //  有几个元素，则函数执行几次





    数组名.every((item, index)=> {   //  数组中的每一个元素是否全部符合条件
        return 判断条件       // 有一个不符合则返回false
    })

    数组名.some((item, index)=> {   //  数组中的是否有元素符合条件
        return 判断条件      // 有一个符合则返回true
    })





    数组名.find(function (item, index) {        // 查找满足条件的第1个元素
        return 判断条件
    })

    数组名.filter(function (item, index) {        // 查找满足条件的所有元素
        return 判断条件
    })



    数组名.sort()        //  升序
    console.log(a);

    数组名.sort((a, b)=>{    //  升序
        if(a>b){
            return 1
        }
        return -1
    })

    数组名.sort((a, b)=>{    //  降序
        if(a>b){
            return -1
        }
        return 1
    })


    
    数组名.reverse();        //  降序
    console.log(a);





    console.log(数组.includes(元素));     //  是否 包含元素
    console.log(!数组.includes(元素));     //  是否 不包含元素




-->


















<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数组</title>
</head>

<body>
    <script>

        let a = []
        // console.log(typeof (a));     //  object
        // console.log(a instanceof Array);    //  true


        // let b = new Array()     //  创建数组
        // console.log(b); //  []
        // console.log(typeof (b)); //  object



        // a.unshift(1, 2, 3)      // 开头添加
        // console.log(a);



        // a.push(4, 5, 6)       //  末尾添加
        // console.log(a);



        // a.shift()       //  开头删除
        // console.log(a);



        // a.pop(4, 5, 6)       //  末尾删除
        // console.log(a);



        // a.splice(1, 0, 7, 8);       // 指定索引处插入元素
        // console.log(a);     // 从索引 1 开始，删除 0 个元素，插入 7 和 8

        // a.splice(1, 2);       // 指定索引处删除元素
        // console.log(a);     // 从索引 1 开始，删除 2 个元素


        // let sliced = a.slice(1, 3);     // 截取指定范围内的元素
        // console.log(sliced);        // 截取索引 1 到索引 3（不包含 3）的元素




        // a.forEach(() => {       //  为数组中的每个元素执行一次函数
        //     console.log('======');      //  有3个元素，打印3次
        // })




        // a.every((item, index)=> {   //  数组中的每一个元素是否全部符合条件
        //     return item > 100       // 有一个不符合则返回false
        // })


        // a.some((item, index)=> {   //  数组中的是否有元素符合条件
        //     return item > 100       // 有一个符合则返回true
        // })




        // let r = a.find(function (item, index) {        // 查找满足条件的第1个元素
        //     return item > 2
        // })
        // console.log(r);



        // let r = a.filter(function (item, index) {        // 查找满足条件的所有元素
        //     return item > 2
        // })
        // console.log(r);




        // a.sort()        //  升序
        // console.log(a);

        // a.sort((a, b)=>{    //  升序
        //     if(a>b){
        //         return 1
        //     }
        //     return -1
        // })


        // a.sort((a, b)=>{    //  降序
        //     if(a>b){
        //         return -1
        //     }
        //     return 1
        // })



        // a.reverse();        //  降序
        // console.log(a);




        // console.log(a.includes(5));     //  是否包含元素



        // let r1 = a.slice(1)       //  截取索引范围内的元素，放入新数组中（原数组不变）
        // console.log(r);
        // let r2 = a.slice(1, 5)       //  截取索引范围内的元素，放入新数组中（原数组不变）
        // console.log(r);






        // // 使用 concat 方法合并数组
        // let b = [9, 10];
        // let combined = a.concat(b);
        // console.log(combined);




        // // 使用 map 方法对数组元素进行处理
        // let mapped = combined.map(function (item) {
        //     return item * 2;
        // });
        // console.log(mapped);



    </script>
</body>

</html>